#ifndef PARTIDO_H
#define PARTIDO_H

#include <stdlib.h>
#include <stdbool.h>

/*****************************************************************
 *        	DEFINICION DEL TIPO DE DATO PARTIDO
 *****************************************************************/
typedef struct partido partido_t;

/*****************************************************************
 *        	PRIMITIVAS DEL TIPO DE DATO PARTIDO
 *****************************************************************/

/*
*Post: Crea un tipo de dato partido_t y le adjudica al mismo los
*nombres de los equipos pasados por parametro y en el orden en que
*fueron ingresados.
*Devuelve NULL si hubo algun error en el proceso.*/
partido_t *partido_crear(const char *local, const char *visitante);

/*
*Destruye el tipo de dato partido_t.*/
void partido_destruir(partido_t *partido);

/*
*Post: Devuelve el nombre del primer equipo adjudicado al partido
*Devuelve NULL si el tipo de dato partido_t no exite.*/
const char *partido_obtener_local(const partido_t *partido);

/*
*Post: Devuelve el nombre del segundo equipo adjudicado al partido
*Devuelve NULL si el tipo de dato partido_t no exite.*/
const char *partido_obtener_visitante(const partido_t *partido);

/*
*Las siguientes dos funciones devuelve el resultado del partido,
*si es que el mismo fue jugado, en el orden en que los equipos
*fueron asignados al partido.
*Devuelven -1 si el tipo de dato partido_t no existe o si el 
*mismo no fue jugado.*/
int partido_obtener_gloc(const partido_t *partido);

int partido_obtener_gvis(const partido_t *partido);

/*
*Post: Devuelve el nombre del equipo ganador del partido.
*Devuelve NULL si el tipo de dato partido_t no existe o si el 
*mismo no fue jugado.*/
const char *partido_obtener_ganador(const partido_t *partido);

/*
*Post: Devuelve true si el partido pasado por parametro fue jugado*/
bool partido_jugado (const partido_t *partido);

/*
*Asigna al partido los resultados pasados por parametro y su vez
*se adjudica a los respectivos equipos*/
void partido_actualizar (partido_t *partido, int gloc, int gvis);

#endif
